package com.shms.until;

/**
 * 文件名：PageUntil.java
 * 编写者：习孟冬
 * 创建时间：2013-3-15
 * 简要描述：
 * 计算分页信息
 */
public class PageUntil {
	/**
	 * 根据总条数和每页显示的条数，计算总页数
	 * @param pageSize 每页显示条数
	 * @param allRow 总条数
	 * @return totalPage 总页数
	 */
	public static int countTotalPage(int pageSize, int allRow){
		int totalPage;
		if (allRow%pageSize == 0) {
			totalPage = allRow/pageSize;
		} else {
			totalPage = new Integer(allRow/pageSize) + 1;
		}
		return totalPage;
	}
	
	/**
	 * 根据传入的当前页数和总页数，计算要查询显示的数据页数
	 * @param currentPage 当前页数
	 * @param totalPage 总页数
	 * @return 要查询显示的数据页数
	 */
	public static int countCurrentPage(int currentPage, int totalPage){
		if (currentPage >= totalPage) {
			return totalPage;
		} else {
			if (currentPage < 0) {
				currentPage = currentPage + 2;
			} else {
				currentPage++;
			}
			return currentPage;
		}
	}
	
	/**
	 * 根据每页显示的条数和要查询显示的数据页数，计算要查询的数据的第一条的数字
	 * @param pageSize 每页显示的条数
	 * @param currentPgae 要查询显示的数据页数
	 * @return
	 */
	public static int countCurrentRow(int pageSize, int currentPage){
		currentPage--;
		return (currentPage*pageSize);
	}
}
